import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TemplateAddPage } from './pages/template-add/template-add.page';
import { SelectDevicePage } from './pages/select-device/select-device.page';
import { TemplateDetailPage } from './pages/template-detail/template-detail.page';
import { ChooseLanguagePage } from './pages/choose-language/choose-language.page';
import { SettingsPage } from './pages/settings/settings.page';
import { HashLocationStrategy, LocationStrategy } from '@angular/common';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { AdMob } from '@admob-plus/ionic/ngx';
import { AppRate } from '@ionic-native/app-rate/ngx';
import { AppVersion } from '@ionic-native/app-version/ngx';
import { BLE } from "@ionic-native/ble/ngx";
import { Clipboard } from '@ionic-native/clipboard/ngx';
import { InAppPurchase } from '@ionic-native/in-app-purchase/ngx';
import { Market } from '@ionic-native/market/ngx';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { EventsService } from './services/events.service';
import { Global } from './services/global.service';
import { LocalStorage } from './services/local-storage.service';


import { HTTP } from '@ionic-native/http/ngx';
import { Device } from '@ionic-native/device/ngx';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';


@NgModule({
	declarations: [AppComponent, SettingsPage, ChooseLanguagePage, TemplateAddPage, TemplateDetailPage, SelectDevicePage],
	entryComponents: [],
	imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, FormsModule, ReactiveFormsModule],
	providers: [
		StatusBar, SplashScreen, AppRate, AppVersion, InAppPurchase,
		Market, AdMob, BLE, Clipboard, HTTP, Device, InAppBrowser,
		{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
		{ provide: LocationStrategy, useClass: HashLocationStrategy },
		LocalStorage, EventsService, Global
	],
	bootstrap: [AppComponent],
})
export class AppModule { }
